The present invention relates to a method and an apparatus for coding picture signals and, more particularly, to a method and an apparatus for highly efficiently coding picture signals including a moving picture by using the correlation between temporally neighboring frames.
With respect to the high efficiency coding of picture signals using the correlation between temporally neighboring frames, a change amount of picture signals between temporally neighboring frames, that is, a predictive error, is coded. Change in the picture occurs mostly by motion such as translation, rotation, zoom, transformation, or the like of an image. Data compression techniques using motion compensation in which the amount of motion, that is, a motion vector, is detected and a coding data amount of a picture to be transferred or stored is reduced by using the motion vector are known.
One of the data compression techniques using the motion compensation is adopted in the international standards H.263, MPEG1, MPEG2, and the like, in which a current picture (current frame) to be coded is divided into a number of blocks, each block is compared with a picture of a previous frame (that is, a reference picture), and a motion vector of the current block from the reference picture is obtained by block matching. The difference between the motion compensated picture of the previous frame and the current frame, that is, a predictive error signal, is coded by using the obtained motion vector. The predictive error signal is subjected to orthogonal transformation such as DCT on a block unit basis, transform coefficients obtained by the orthogonal transformation are quantized, and the quantized signals are coded using a variable length code. Some codes obtained by variable length coding and some codes obtained by coding the motion vector are multiplexed, and the multiplexed codes are transferred or stored.
The international standards H.263, MPEG1, and MPEG2 are described in, for example, Latest MPEG Textbook edited by Hiroshi Fujiwara (August 1994). In the motion compensation performed by the H.263 coding, a picture frame is divided into sub blocks each consisting of (16 pixels×16 pixels), the sub block is further divided into four blocks each consisting of (8 pixels×8 pixels), the motion vector of the sub blocks or the four small blocks is/are obtained, and picture data and the motion vector of each block are coded.
According to another data compression technique using the motion compensation, a global motion such as rotation, zoom, transformation, and the like in a whole picture occurring by panning of a camera or a zooming operation for sports broadcast or the like is detected and is used for the image coding. The above technique is called a global motion compensation method. There are some methods of global motion compensation (for example, refer to K. Kamikura et al., “Global Motion Compensation Method in Video Coding”, Transactions of the Institute of Electronics, Information and Communication Engineers of Japan, Vol. J76-B-I, No. 12, December 1993, pp. 944-952). For example, as will be described hereinafter with reference to FIG. 5, generally, motion vectors with respect to pixels at four corners of a picture are obtained and transferred. When the whole original picture 501 is used as one area (patch) 503, and the motion and transformation from the current frame picture 501 to a reference picture 502 is compensated by using the area (patch) 503, the reference picture 502 is transformed as shown by 508. By the motion compensation, grid points 504, 505, 506, and 507 are moved to grid points 509, 510, 511, and 512, respectively, and each grid point holds the motion vector accompanying the motion amount. Consequently, when the four motion vectors are transferred to the decoding side, the global motion compensated picture which is commonly used on both of the coding and decoding sides can be formed. In a method of forming the global motion compensated picture, a high speed algorithm as disclosed in the Official Gazette of Japanese Patent Application Laid-Open No. 8-60572 also exists.
The four motion vectors are not necessarily specified to the pixel positions if there is some agreement between the coding and decoding sides. When the motion vector of a pixel located at the end of the global motion compensated picture exceeds a search range, the global motion compensated picture cannot be completely reformed on the decoding side. In the case where the motion vector of the picture is located out of the picture, the pixel at the corner of the picture is substituted for it.
The global motion compensation is effective as long as the motion in the whole picture is uniformly the same. However, when areas of different motion exist in the picture, the global motion compensation can correspond to only one of the different motions. Consequently, in order to compensate a spatial motion amount existing between the original picture and a global motion compensated picture, a method of performing a local motion compensation by using the global motion compensated picture as a reference picture is also used. Further, in order to correspond to a stationary area or a conventional simple translation as well, there is also an adaptive method in which it is determined on a block unit basis whether to perform the local motion compensation using a picture which is not global motion compensated as a reference picture or using a picture global motion compensated picture as a reference picture.
In the above-mentioned picture coding methods executing the motion compensation, in order to easily detect the motion vector which can reduce the number of coding bits, evaluation is performed by subtracting a predetermined fixed value from a fundamental evaluation value used for the motion estimation (a value for evaluating the similarity between a block to be coded and a reference picture block) only in the case of a specific motion vector. This technique of reducing the amount of the motion vector information by subtracting the predetermined fixed value from the fundamental evaluation value used for the motion estimation is effective when the ratio of an amount of the motion vector is large for the ratio of an amount of the whole coding information. However, when the technique is used for a case where the ratio of the amount of the motion vector information is much smaller than the ratio of the amount of the coding information for the error signals, there is the possibility that the increased amount of the coding information of the signals becomes larger than the reduced amount of the coding information of the motion vector and the coding efficiency deteriorates as a result. It also involves deterioration of the performance of the motion compensation.